#!/usr/bin/env python
#coding:utf-8

from commands import getoutput
import os

#引入上层目录模块方法
import sys
sys.path.append("..")

from core.level import InfoData,WarningData


def get_disk_space(args):

    '''监控硬盘使用率'''
    #监控硬盘分区默认为根,如参数有disk字段则监控disk设置的分区

    disk = "/"
    if args.get('disk'):
        disk = args.get('disk')

        
    result = getoutput('''df -h|grep -w %s|awk '{print $(NF-2)","$(NF-1)}' '''%disk)
    free, userate = result.split(',')
    #判断单位
    if free.endswith('G'):
        unit = 'GB'
        free = free.strip('G')
    elif free.endswith('T'):
        unit = 'TB'
        free = free.strip('T')
    elif free.endswith('M'):
        unit = 'MB'
        free = free.strip('M')
        
    userate = userate.strip('%')
    if float(userate) >= args.get('WarningData'):
        return WarningData({'硬盘剩余': [float(free),unit],'硬盘使用率': [float(userate),'%']})
    return InfoData({'硬盘剩余': [float(free),unit],'硬盘使用率': [float(userate),'%']})

if __name__=='__main__':
    print get_disk_space({'WarningData':80})
